/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package sistema.medico.controlador;

import com.db4o.ObjectContainer;
import com.db4o.ObjectSet;
import com.db4o.query.Constraint;
import com.db4o.query.Predicate;
import com.db4o.query.Query;
import java.util.Comparator;
import java.util.List;
import javax.swing.JOptionPane;
import sistema.medico.datos.DataConnection;
import sistema.medico.negocio.Detalle_Dieta;


/**
 *
 * @author ESTUDIANTE
 */
public class Controlador_Detalle_Dieta {
    ////////////////////////////////////////////////////////////////////////////
    ObjectContainer db = DataConnection.getInstance();//variable que contiene la informacion de la BD
    private List<Detalle_Dieta> listMedicos;
    ////////////////////////////////////////////////////////////////////////////
    public void Guardar(Detalle_Dieta dd) {
        db.store(dd);
        db.commit();
    }
    
    ////////////////////////////////////////////////////////////////////////////
    public List<Detalle_Dieta> listar() {
        @SuppressWarnings("UnusedAssignment")
        List<Detalle_Dieta> dd = null;
        dd = db.query(Detalle_Dieta.class);//Cojemos todos los registros
        return dd;
    }
    
    ////////////////////////////////////////////////////////////////////////////
    public Detalle_Dieta getMedico(final String codigo) {
        @SuppressWarnings("UnusedAssignment")
        List<Detalle_Dieta> dd = null;
        dd = db.query(new Predicate<Detalle_Dieta>() {
            
        @Override
        public boolean match(Detalle_Dieta o) {
                return o.getCodigo_dieta().toLowerCase().contains(codigo.toLowerCase());//convertimos todo a minÃºscula y comparamos
            }
        }, new Comparator<Detalle_Dieta>() {
            @Override
            public int compare(Detalle_Dieta o1, Detalle_Dieta o2) {
                return 0;
            }
        });
        if (dd.size() == 0) {
            JOptionPane.showMessageDialog(null, "No Existe Detalle Dieta");
            return null;
        } else {
            return dd.get(0);
        }
    }
    
    
    
    ////////////////////////////////////////////////////////////////////////////
    public void Actualizar(String codigo, String detalle) {
        Query query = db.query();
        query.constrain(Detalle_Dieta.class);
        Constraint constraint = query.descend("codigo").constrain(codigo);
        ObjectSet resultado = query.execute();
        Detalle_Dieta dd = (Detalle_Dieta) resultado.get(0);
        dd.getCodigo_dieta();
        dd.getDetalle();
        db.store(dd);
    }
    
//    ////////////////////////////////////////////////////////////////////////////
//      public String[] cargarComboMedicos() {
//        int i = 0;
//        listMedicos = listar();
//        String[] comboBoxArray = new String[listMedicos.size()];
//        for (Paciente medico: listMedicos) {
//            comboBoxArray[i]=listMedicos.get(i).getNombre()+ " " + listMedicos.get(i).getApellido();
//            i++;
//        }
//        return comboBoxArray;
//    }
    
}
